Product Code Database
Example Keywords: the legend -data $71
   » » Wiki: Memory Debugger
Tag Wiki 'Memory Debugger'.
Tag

A memory debugger is a for finding software memory problems such as and . These are due to related to the allocation and deallocation of . Programs written in languages that have garbage collection, such as , might also need memory debuggers, e.g. for memory leaks due to "living" references in collections.


Overview
Memory debuggers work by monitoring memory access, allocations, and deallocation of memory. Many memory debuggers require applications to be recompiled with special dynamic memory allocation libraries, whose APIs are mostly compatible with conventional dynamic memory allocation libraries, or else use dynamic linking. is such a debugger which debugs memory allocation with . Some memory debuggers (e.g. ) work by running the executable in a virtual machine-like environment, monitoring memory access, allocation and deallocation so that no recompilation with special memory allocation libraries is required.

Finding memory issues such as leaks can be extremely time-consuming as they may not manifest themselves except under certain conditions. Using a tool to detect memory misuse makes the process much faster and easier.

As abnormally high memory utilization can be a contributing factor in , memory debuggers can help programmers to avoid that would exhaust the computer system memory, thus ensuring high reliability of the software even for long runtimes.


Comparison to static analyzer
Some static analysis tools can also help find memory errors. Memory debuggers operate as part of an application while its running while static code analysis is performed by analyzing the code without executing it. These different techniques will typically find different instances of problems, and using them both together yields the best result.


List of memory debugging tools
This is a list of useful for memory debugging. A profiler can be used in conjunction with a memory debugger.

Linux, Mac OSFree/open source (LLVM)C, C++, RustCompile-time instrumentation (available in and GCC) and specialized library
Allinea DDTLinux, Blue GenecommercialC, C++ and F90. Also for parallel programs on supercomputersRuntime - through dynamic linking
Windows (Visual Studio, Embarcadero IDEs)commercial.NET, C++, Java, Silverlight, JScript, VBScriptRuntime
Solaris
Windows (Visual Studio)commercialC++Runtime intercepts or compile-time
DaikonUnix, Windows, Mac OS XFree/open sourceJava, C/C++, Perl, and EiffelRuntime dynamic invariant detection
Debug_new(general technique)(general technique)C++Compile-time override
Windows (standalone, and plugins for Visual Studio, RAD Studio, Qt Creator, CLion)commercialC++, .Net, DelphiRuntime intercepts
Free/open source ()CCompile-time override
Android, Linux, WindowsFree/open source (LGPL and BSD) Runtime intercepts
Unix C, C++Compile-time override
FASTMM4Windows DelphiCompile-time override
IBM Rational PurifyUnix, WindowscommercialC++, Java, .NETRuntime
Insure++Windows (Visual Studio plugin), UnixcommercialC, C++source code instrumentation
Windows (Visual Studio), LinuxcommercialC, C++, FortranRuntime
libcwdLinux (gcc)Free/open sourceC, C++Compile-time override
SolarisBundled with Solaris Link-time override
(programming library)Free/open sourceCCompile-time override
GNU C libraryBuilt-in, outputs accesses
C, C++Runtime intercepts, Link-time override (MSVC, Clang and GCC), Leak detection
Oracle Solaris Studio (formerly Sun Studio Runtime Checking)Linux, SolarisProprietary freewareC, C++, Fortran
(APT international)MVS, MVS/EXA, DOS/VSEsoftwareIBM AssemblerRuntime intercepts, Hypervisor - Type 2
TotalViewUnix, Mac OS XcommercialC, C++, FortranRuntime
Linux, FreeBSD, Solaris/illumos, Mac OS, Android Runtime intercepts
WindowsfreewareC, C++, .NET, PythonRuntime


See also
  • Profiling (computer programming)
  • List of performance analysis tools
  • Runtime error detection
  • Software engineering
  • Computer programming

  • Michael C. Daconta: C++ Pointers and Dynamic Memory Management, John Wiley & Sons,
  • Andrew Koenig: C Traps and Pitfalls, Addison-Wesley,


External links

Page 1 of 1
1
Page 1 of 1
1

Account

Social:
Pages:  ..   .. 
Items:  .. 

Navigation

General: Atom Feed Atom Feed  .. 
Help:  ..   .. 
Category:  ..   .. 
Media:  ..   .. 
Posts:  ..   ..   .. 

Statistics

Page:  .. 
Summary:  .. 
1 Tags
10/10 Page Rank
5 Page Refs